package base.集合;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;

public class Map练习 {
    public static void main(String[] args){
        //Map双列集合
        Map<String,String> map = new HashMap<>();
        map.put("过儿","双儿");
        map.put("郭靖","穆念慈");
        map.put("欧阳克","黄蓉");

        //1.通过键 找 值 遍历 元素
        //把key放入Set集合里面
        Set<String> set = map.keySet();
        for (String s : set){
            String value = map.get(s);
            System.out.println(s + "=" + value);
        }
        System.out.println();

        //2.键值对对象 遍历
        //把双列集合变成 单列的对象集合
        //Map.Entry<String,String> : Map里面的一个内部接口 ;
        Set<Map.Entry<String,String>> entryies = map.entrySet();
        for (Map.Entry<String,String> entry : entryies){
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + '=' + value);
        }
        System.out.println();
        //3.利用lambda表达式进行遍历
        //forEach底层其实就是利用第二种方式进行遍历，一次得到每一个键和值
        //再调用accept方法
        map.forEach(new BiConsumer<String, String>() {
            @Override
            public void accept(String key, String value) {
                System.out.println(key + '=' + value);
            }
        });
    }
}





